package com.zhongfl.crm.mapper;

import com.zhongfl.crm.model.LxCustomerOrder;
import com.zhongfl.crm.model.OrderType;
import com.zhongfl.crm.request.LxCustomerOrderRequest;

import java.util.List;

/**
 * @author wang.yuchuan
 * @date 2018/9/19
 */

public interface LxCustomerOrderMapper {
    /**
     * 查询全部励销客户订单
     *
     * @return 励销客户订单对象集合
     */
    List<LxCustomerOrder> selectAllLxCustomerOrder();

    /**
     * 分页查询励销客户订单
     *
     * @param lxCustomerOrderRequest 分页查询对象
     * @return 客户订单对象集合
     */
    List<LxCustomerOrder> selectLxCustomerOrderByPage(LxCustomerOrderRequest lxCustomerOrderRequest);

    /**
     * 按照客户订单ID查询客户订单详情
     *
     * @param id 客户订单ID
     * @return 客户订单对象
     */
    LxCustomerOrder selectLxCustomerOrderById(Long id);

    /**
     * 删除一条
     *
     * @param id 客户订单ID
     * @return 数据库受影响行数
     */
    int deleteById(Long id);

    /**
     * 插入一条
     *
     * @param saveCustomerOrder 客户订单对象
     * @return 受影响函数
     */
    int insert(LxCustomerOrder saveCustomerOrder);

    /**
     * 修改一条
     *
     * @param updateCustomerOrder 客户订单对象
     * @return 受影响行数
     */
    int updateById(LxCustomerOrder updateCustomerOrder);

    /**
     *
     * @param id
     * @return
     */
    LxCustomerOrder selectByLxId(Long id);

    /**
     *  新增客户订单
     * @param saveCustomerOrder
     */
    void insertSelective(LxCustomerOrder saveCustomerOrder);

    /**
     * 更新客户订单
     * @param updateCustomerOrder
     */
    void updateByPrimaryKeySelective(LxCustomerOrder updateCustomerOrder);

    /**
     * 按励销渠道id查询客户订单
     * @param lxCustomerOrderRequest
     * @return
     */
    List<LxCustomerOrder> findLxCustomerOrderByCustomerId(LxCustomerOrderRequest lxCustomerOrderRequest);
}
